package com.hp.controller;

import com.alibaba.fastjson.JSON;
import com.hp.pojo.User;
import com.hp.service.UserService;
import com.hp.util.JsonData;
import com.hp.util.SendSms;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import redis.clients.jedis.Jedis;

import javax.servlet.http.HttpSession;

@Controller
@RequestMapping("user")
public class UserController {
    @Autowired
    private UserService userService;
    @RequestMapping("/login")
    @ResponseBody
    public String login(User user, String verifyCode,HttpSession session){
        System.out.println(user);
        JsonData jsonData;
        Jedis jedis=new Jedis("localhost",6379);
        String phone = user.getPhone();
        //根据前端传入的key获取对应的值
        String verifyCode1 = jedis.get(phone);
        jedis.close();
        //如果验证码不对那就返回   验证码错误!
        if (verifyCode1==null||"".equals(verifyCode1)){
            jsonData= JsonData.buildError("请先发送验证码！");
            System.out.println(jsonData);
            return JSON.toJSONString(jsonData);
        }else  if (verifyCode.isEmpty()){
            jsonData= JsonData.buildError("验证码为空");
            System.out.println(jsonData);
            return JSON.toJSONString(jsonData);
        }else if (!verifyCode1.equals(verifyCode)){
            jsonData= JsonData.buildError("验证码错误");
            System.out.println(jsonData);
            return JSON.toJSONString(jsonData);
        }else if (verifyCode1.equals(verifyCode)){
            jsonData = userService.login(user);
            return JSON.toJSONString(jsonData);
//            return JSON.toJSONString(JsonData.buildSuccess("登录成功"));

        }
        jsonData= JsonData.buildError("未知错误，请联系管理员");
        System.out.println(jsonData);
        return JSON.toJSONString(jsonData);

    }
    @RequestMapping("/sendSms")
    @ResponseBody
    public String sendSms(String phone){
        System.out.println("执行发送短信:" + phone);
        String json = SendSms.sendSms(phone);
        return  JSON.toJSONString(json);
    }
    @RequestMapping("/all")
    @ResponseBody
    public String all(int page,int limit) {
        JsonData jsonData = userService.all(page, limit);
        return  JSON.toJSONString(jsonData);
    }
    @RequestMapping("/save")
    @ResponseBody
    public String save(User user) {
        JsonData jsonData = userService.save(user);
        return  JSON.toJSONString(jsonData);
    }
    @RequestMapping("/del")
    @ResponseBody
    public String del(int userid) {
        JsonData jsonData = userService.dle(userid);
        return  JSON.toJSONString(jsonData);
    }
    @RequestMapping("/likeAll")
    @ResponseBody
    public String likeAll(User user,int page,int limit) {
        JsonData jsonData = userService.likeAll(user,page,limit);
        return  JSON.toJSONString(jsonData);
    }


    @RequestMapping("/tuila")
    public String tuila(){
        return "login";
    }

}
